package com.jxdinfo.hussar.cloud.module.example.lift.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.math.BigDecimal;


/**
 * 升降机表(Lift)DTO类
 *
 * @author S
 * @since 2023-06-12 17:45
 */
@ApiModel(description = "升降机表DTO")
@Data
public class LiftDto  {

    private static final long serialVersionUID = 1L;
    private String id;
    /**
     * 升降机名称
     */
    @NotBlank(message = "升降机名称不能为空")
    @ApiModelProperty(value = "升降机名称")
    private String liftName;
    /**
     * 平面图对应文件id
     */
    @ApiModelProperty(value = "平面图对应文件id")
    private String docId;
    /**
     * 产品编码
     */
    @NotBlank(message = "产品编码不能为空")
    @ApiModelProperty(value = "产品编码")
    private String productKey;
    /**
     * 设备编码
     */
    @NotBlank(message = "设备编码不能为空")
    @ApiModelProperty(value = "设备编码")
    private String deviceCode;
    /**
     * 设备名称
     */
    @NotBlank(message = "设备名称不能为空")
    @ApiModelProperty(value = "设备名称")
    private String deviceName;
    /**
     * 设备坐标x
     */
    @ApiModelProperty(value = "设备坐标x")
    private String deviceCoordinateX;
    /**
     * 设备坐标y
     */
    @ApiModelProperty(value = "设备坐标y")
    private String deviceCoordinateY;
    /**
     * 升降机驾驶舱监控图片
     */
    @ApiModelProperty(value = "升降机驾驶舱监控图片")
    private String liftCockpitImg;
    /**
     * 升降机驾驶舱监控视频流地址
     */
    @ApiModelProperty(value = "升降机驾驶舱监控视频流地址")
    private String liftCockpitVideo;
    /**
     * 升降机吊钩监控图片
     */
    @ApiModelProperty(value = "升降机吊钩监控图片")
    private String cliverCockpitImg;
    /**
     * 升降机吊钩监控视频流地址
     */
    @ApiModelProperty(value = "升降机吊钩监控视频流地址")
    private String cliverCockpitVideo;
    /**
     * 设备状态，0在线，1设备故障，2离线
     */
    @ApiModelProperty(value = "设备状态，0在线，1设备故障，2离线")
    private Integer deviceStatus;
    /**
     * 工作状态，0空闲，1工作
     */
    @ApiModelProperty(value = "工作状态，0空闲，1工作")
    private Integer workStatus;
    /**
     * 今日累计装载次数
     */
    @ApiModelProperty(value = "今日累计装载次数")
    private Integer todayWorkNum;
    /**
     * 今日工作净时长，单位分钟
     */
    @ApiModelProperty(value = "今日工作净时长，单位分钟")
    private Integer todayWorkDuration;
    /**
     * 今日累计装载重量，单位KG
     */
    @ApiModelProperty(value = "今日累计装载重量，单位KG")
    private BigDecimal todayWorkWeight;
    /**
     * 数据状态，0正常，1预警，2报警
     */
    @ApiModelProperty(value = "数据状态，0正常，1预警，2报警")
    private Integer dataStatus;
    /**
     * 载重预警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "载重预警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer warnWeightRule;
    /**
     * 载重预警值
     */
    @ApiModelProperty(value = "载重预警值")
    private BigDecimal warnWeightValue;
    /**
     * 运行速度预警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "运行速度预警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer warnSpeedRule;
    /**
     * 运行速度预警值
     */
    @ApiModelProperty(value = "运行速度预警值")
    private String warnSpeedValue;
    /**
     * 高度规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "高度规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer warnHeightRule;
    /**
     * 高度预警值
     */
    @ApiModelProperty(value = "高度预警值")
    private String warnHeightValue;
    /**
     * X轴倾斜角度预警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "X轴倾斜角度预警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer warnXRule;
    /**
     * X轴倾斜角度预警值
     */
    @ApiModelProperty(value = "X轴倾斜角度预警值")
    private String warnXValue;
    /**
     * Y轴倾斜角度预警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "Y轴倾斜角度预警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer warnYRule;
    /**
     * Y轴倾斜角度预警值
     */
    @ApiModelProperty(value = "Y轴倾斜角度预警值")
    private String warnYValue;
    /**
     * 风速预警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "风速预警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer warnWindRule;
    /**
     * 风速预警值
     */
    @ApiModelProperty(value = "风速预警值")
    private String warnWindValue;
    /**
     * 运载人数预警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "运载人数预警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer warnPeopleRule;
    /**
     * 运载人数预警值
     */
    @ApiModelProperty(value = "运载人数预警值")
    private String warnPeopleValue;
    /**
     * 载重报警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "载重报警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer errorWeightRule;
    /**
     * 载重报警值
     */
    @ApiModelProperty(value = "载重报警值")
    private BigDecimal errorWeightValue;
    /**
     * 运行速度报警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "运行速度报警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer errorSpeedRule;
    /**
     * 运行速度报警值
     */
    @ApiModelProperty(value = "运行速度报警值")
    private String errorSpeedValue;
    /**
     * 高度规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "高度规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer errorHeightRule;
    /**
     * 高度报警值
     */
    @ApiModelProperty(value = "高度报警值")
    private String errorHeightValue;
    /**
     * X轴倾斜角度报警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "X轴倾斜角度报警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer errorXRule;
    /**
     * X轴倾斜角度报警值
     */
    @ApiModelProperty(value = "X轴倾斜角度报警值")
    private String errorXValue;
    /**
     * Y轴倾斜角度报警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "Y轴倾斜角度报警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer errorYRule;
    /**
     * Y轴倾斜角度报警值
     */
    @ApiModelProperty(value = "Y轴倾斜角度报警值")
    private String errorYValue;
    /**
     * 风速报警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "风速报警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer errorWindRule;
    /**
     * 风速报警值
     */
    @ApiModelProperty(value = "风速报警值")
    private String errorWindValue;
    /**
     * 运载人数报警规则，1小于、2小于等于、3大于、4大于等于、5等于
     */
    @ApiModelProperty(value = "运载人数报警规则，1小于、2小于等于、3大于、4大于等于、5等于")
    private Integer errorPeopleRule;
    /**
     * 运载人数报警值
     */
    @ApiModelProperty(value = "运载人数报警值")
    private String errorPeopleValue;
    /**
     * 故障通知模式：1实时通知，2定时通知
     */
    @ApiModelProperty(value = "故障通知模式：1实时通知，2定时通知")
    private Integer noticeFaultMode;
    /**
     * 故障通知定时时间，格式HH:mm
     */
    @ApiModelProperty(value = "故障通知定时时间，格式HH:mm")
    private String noticeFaultTime;
    /**
     * 故障通知类型：1岗位，2人员
     */
    @ApiModelProperty(value = "故障通知类型：1岗位，2人员")
    private Integer noticeFaultType;
    /**
     * 故障通知岗位，岗位id，多个岗位用逗号分割
     */
    @ApiModelProperty(value = "故障通知岗位，岗位id，多个岗位用逗号分割")
    private String noticeFaultPost;
    /**
     * 故障通知人员，人员id，多个人员用逗号分割
     */
    @ApiModelProperty(value = "故障通知人员，人员id，多个人员用逗号分割")
    private String noticeFaultPerson;
    /**
     * 预警通知模式：1实时通知，2定时通知
     */
    //@ApiModelProperty(value = "预警通知模式：1实时通知，2定时通知")
    //private Integer noticeWarnMode;
    /**
     * 预警通知实时通知，检测项id，多个检测项id用逗号分开
     */
    @ApiModelProperty(value = "预警通知实时通知，检测项id，多个检测项id用逗号分开")
    private String noticeWarnRealItem;
    /**
     * 预警通知定时通知，检测项id，多个检测项id用逗号分开
     */
    @ApiModelProperty(value = "预警通知定时通知，检测项id，多个检测项id用逗号分开")
    private String noticeWarnRegularItem;
    /**
     * 预警通知定时时间，格式HH:mm
     */
    @ApiModelProperty(value = "预警通知定时时间，格式HH:mm")
    private String noticeWarnTime;
    /**
     * 预警通知类型：1岗位，2人员
     */
    @ApiModelProperty(value = "预警通知类型：1岗位，2人员")
    private Integer noticeWarnType;
    /**
     * 预警通知岗位，岗位id，多个岗位用逗号分割
     */
    @ApiModelProperty(value = "预警通知岗位，岗位id，多个岗位用逗号分割")
    private String noticeWarnPost;
    /**
     * 预警通知人员，人员id，多个人员用逗号分割
     */
    @ApiModelProperty(value = "预警通知人员，人员id，多个人员用逗号分割")
    private String noticeWarnPerson;
    /**
     * 报警通知模式：1实时通知，2定时通知
     */
    //@ApiModelProperty(value = "报警通知模式：1实时通知，2定时通知")
    //private Integer noticeErrorMode;
    /**
     * 报警通知实时通知，检测项id，多个检测项id用逗号分开
     */
    @ApiModelProperty(value = "报警通知实时通知，检测项id，多个检测项id用逗号分开")
    private String noticeErrorRealItem;
    /**
     * 报警通知定时通知，检测项id，多个检测项id用逗号分开
     */
    @ApiModelProperty(value = "报警通知定时通知，检测项id，多个检测项id用逗号分开")
    private String noticeErrorRegularItem;
    /**
     * 报警通知定时时间，格式HH:mm
     */
    @ApiModelProperty(value = "报警通知定时时间，格式HH:mm")
    private String noticeErrorTime;
    /**
     * 报警通知类型：1岗位，2人员
     */
    @ApiModelProperty(value = "报警通知类型：1岗位，2人员")
    private Integer noticeErrorType;
    /**
     * 报警通知岗位，岗位id，多个岗位用逗号分割
     */
    @ApiModelProperty(value = "报警通知岗位，岗位id，多个岗位用逗号分割")
    private String noticeErrorPost;
    /**
     * 报警通知人员，人员id，多个人员用逗号分割
     */
    @ApiModelProperty(value = "报警通知人员，人员id，多个人员用逗号分割")
    private String noticeErrorPerson;
    /**
     * 项目编号
     */
    @ApiModelProperty(value = "项目编号")
    private String tyProjectCode;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date tyCreateTime;
    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    private String tyCreateUserid;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String tyCreateUserName;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date tyLastUpdateTime;
    /**
     * 更新人id
     */
    @ApiModelProperty(value = "更新人id")
    private String tyLastUpdateUserid;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private String tyLastUpdateUserName;
    /**
     * 删除状态 0未删除，1已删除
     */
    @ApiModelProperty(value = "删除状态 0未删除，1已删除")
    private Integer tyDeleteStatus;

}